Conversation
With the recent changes to the Java generator in LinkML-Py, EntityReference-typed slots are no longer automatically mapped to String - they are mapped to URI instead. We need to explicitly override that.
The SSSOM spec may (or not…) soon mark some slots as being propagatable while recommending against their condensation. We support this by making the `Propagatable` field annotation accept an optional boolean parameter (`condensationDiscouraged`). A slot marked with `Propagatable(condensationDiscouraged=true)` will always be propagated as any other propagatable slot, but by default will not be condensed.
Add a mechanism to mark slots whose condensation is to be discouraged directly within the SSSOM schema. Update the Java generator and the template accordingly to exploit that annotation when present.
As currently under discussion in the SSSOM spec, we mark the predicate_id and mapping_justification slots (as well as the predicate_label slot) as being propagatable but with the caveat that their condensation is discouraged.
Add a `setForceCondensation()` method to SSSOMWriter to allow client code to force the writer to condense all propagatable slots, even those that should not be condensed. The default behaviour remains not to condense those slots. Also expose that settings to the command line tool, in the form of a new option `--condense-all-slots`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There is an ongoing discussion in the SSSOM spec about making
predicate_idandmapping_justificationpropagatable.This PR supports them being propagatable but with the caveat that their condensation is strongly discouraged: they are always propagated when reading a set, but never condensed when writing, unless this is explicitly asked for.